1
課程成績簡報
DSAI2202Lab 5: Grouping and Summarising Data

UniLearn 教務處需要一份 2026 年虛構學期的課程成績報告。請彙總 有效選課,包含尚未取得成績的學生。

準備你的 PostgreSQL 資料

  1. 在 pgAdmin 查詢工具開啟你的練習資料庫。將 自動提交 設為開啟。
  2. 選擇 開啟檔案 ,並選擇另外提供的 lab5_setup.sql。
  3. 執行整個檔案。它會選取 lab5 結構描述。在同一個查詢工具中,從 程式碼 複製檢查查詢,並確認有 36 列。

一列代表什麼?

一列代表 一位學生在一門課程中的選課紀錄。S101 選修三門課程,因此 S101 會出現三次。選課數與學生數可能不同。

建立教務處報告

  • 計算選課數、已記錄成績數,以及不重複學生數。
  • 計算每門課程的總計與平均。
  • 保留符合所要求彙總條件的課程。
💡 彙總前請先閱讀
NULL 表示沒有已記錄的成績; 0 是已記錄的成績。退選紀錄仍保留在資料表中,但會從報告中排除。

預覽:36 筆選課中的前 12 筆

完整的 enrolments 資料表包含六門課程中的 20 位不重複學生。六列退選紀錄將從報告中篩除。執行檢查查詢即可查看全部 36 列。

選課學生課程計畫課程狀態成績時數
E01S101DSAISQL101active806
E02S102CSSQL101active604
E03S103DSAISQL101activeNULL5
E04S104ITSQL101withdrawn902
E05S101DSAIPY101active908
E06S105CSPY101active506
E07S106DSAIPY101active707
E08S107ITPY101activeNULL3
E09S102CSVIS101active404
E10S108DSAIVIS101activeNULL2
E11S109ITVIS101withdrawn1001
E12S110ITVIS101active01

閱讀各欄位

  • enrolment_id 可識別單一選課紀錄; student_id 可能會重複。
  • score 是滿分 100 的分數,若未記錄則為 NULL。
  • study_hours 記錄此選課的時數。
💡 PostgreSQL 語法
文字值使用單引號。數字與 SQL NULL 則不用。每條陳述式以分號結尾。